﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Http;
using Aliyun.Acs.Dysmsapi.Model.V20170525;

namespace BCGM.MedicalWisdom.Common.AliYun
{
    public class AliSendSms
    {
        public static void send(string mobile, string code)
        {
            string accessKeyId = "LTAI5tKb9Sk7hwTsxv5KGCzi";//你的accessKeyId
            string accessKeySecret = "rQPPRmX4RoELbpXxaXO8Jf8rIsSj34";//你的accessKeySecret

            IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret);

            DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", "Dysmsapi", "dysmsapi.aliyuncs.com");
            IAcsClient acsClient = new DefaultAcsClient(profile);
            SendSmsRequest request = new SendSmsRequest();
            try
            {
                //必填:待发送手机号。支持以逗号分隔的形式进行批量调用，批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
                request.PhoneNumbers = mobile;
                //必填:短信签名-可在短信控制台中找到
                request.SignName = "森林阅读短信服务";
                //必填:短信模板-可在短信控制台中找到
                request.TemplateCode = "SMS_255300223";
                //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
                request.TemplateParam = "{\"code\":\"" + code + "\"}";
                //请求失败这里会抛ClientException异常
                SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request);
                //result表示执行结果，是由阿里云返回给本地服务器的
                string result = sendSmsResponse.Message;
                Console.WriteLine(result);
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }
    }
}